.\" Copyright (c) 2021-2022  Joachim Wiberg <troglobit@gmail.com>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions are met:
.\"     * Redistributions of source code must retain the above copyright
.\"       notice, this list of conditions and the following disclaimer.
.\"     * Redistributions in binary form must reproduce the above copyright
.\"       notice, this list of conditions and the following disclaimer in the
.\"       documentation and/or other materials provided with the distribution.
.\"     * Neither the name of the copyright holders nor the names of its
.\"       contributors may be used to endorse or promote products derived from
.\"       this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY
.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
.\" ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
.\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd Jan 4 2022
.Dt MDNSD 8 SMM
.Os
.Sh NAME
.Nm mdnsd
.Nd small multicast DNS daemon
.Sh SYNOPSIS
.Nm mdnsd
.Op Fl hnsv
.Op Fl i Ar IFACE
.Op Fl l Ar LEVEL
.Op Fl t Ar TTL
.Op Ar PATH
.Sh DESCRIPTION
.Nm
is a small mDNS-SD daemon for UNIX like systems.  It is based on an
original implementation made by Jeremie Miller in 2003.  Multicast DNS
with service discovery (-SD) is an open standard defined in RFC5762,
mDNS-SD in RFC6763, commonly known to end-users as Bonjour or Avahi,
depending on the operating system.
.Pp
.Nm
reads service definitions of services to announce from
.Pa /etc/mdns.d/*.service ,
a different path may be given on the command line, which can be a
directory or a single service file.
.Pp
.Nm
by default runs on all multicast capable interfaces on a system.  Use
.Fl i Ar IFACE
to only run on a single interface.
.Sh OPTIONS
This program follows the usual UNIX command line syntax. The options are
as follows:
.Bl -tag
.It Fl h
Print a help message and exit.
.It Fl i Ar IFACE
Interface to announce services on.  By default
.Nm
runs on all interfaces.
.Pp
Only available on Linux.
.It Fl l Ar LEVEL
Set log level: none, err, notice (default), info, debug.
.It Fl n
Run in foreground, do not detach from controlling terminal.
.It Fl s
Use syslog even if running in foreground.
.It Fl t Ar TTL
Set TTL of mDNS packets, default: 1 (link-local only).
.It Fl v
Show program version.
.El
.Sh FILES
.Bl -tag -width /etc/mdns.d/*.service -compact
.It Pa /etc/mdns.d/*.service
mDNS-SD services to announce.
.El
.Sh SEE ALSO
.Xr mquery 1 ,
.Xr mdnsd.service 5 ,
.Xr mdns-scan 1
.Sh AUTHORS
This mDNS-SD implementation was created in 2003 by
.An Jeremie Miller Aq jer@jabber.org .
Much later, in 2016, it was adopted by
.An Joachim Wiberg Aq troglobit@gmail.com
for further development and maintenance at GitHub:
.Aq https://github.com/troglobit/mdnsd .
